link_to изменить страницу по умолчанию путь? - PullRequest
2 голосов
/ 22 августа 2011

Я использую Rails3 для создания простой страницы информации о клиентах (в табличном формате). На этой странице пользователь может редактировать подробную информацию о каждом клиенте. Каждый клиент может иметь несколько записей. Я использую link_to, чтобы попасть на страницу редактирования:

<td class="edit" id="edit">edit
<%= link_to 'edit', :action => :edit, :cust_id => ci.cust_id %>
</td>

edit.html.erb:

<h1>Editing cust</h1>
<%= form_for(@cust_info) do |cust| %>
    Customer: <%= cust.text_field :cust_schema %>
    <%= cust.submit "Save" %>
<% end%>

В моем контроллере у меня есть это:

def edit
            cust_id = params[:cust_id]
            @cust_info = CustInfo.find(:all, :conditions => ["cust_id = ?", cust_id])
end

Страница информации о клиенте отображается справа. Когда я нажимаю на ссылку редактирования, я получаю сообщение об ошибке:

ActionView::Template::Error (undefined method `cust_info_cust_info_path' for #<#<Class:0x7fb0857ce7b8>:0x7fb0857ca780>):
    1: <h1>Editing cust</h1>
    2: 
    3: <%= form_for(@cust_info) do |cust| %>
    4:  Customer: <%= cust.text_field :cust_schema %>
    5:  <%= cust.submit "Save" %>
    6: <% end%>
  app/views/track/edit.html.erb:3:in `_app_views_track_edit_html_erb___102324197_70198065248580_0'

Откуда взялась cust_info_cust_info_path?

РЕДАКТИРОВАТЬ: вот код в контроллере:

class TrackController < ApplicationController

def display
end

def information
end


def customerinfo
    @cust_info = CustInfo.find(:all, :order=>"cust_id")
    @cust_info.each do |ci|
                    if ci.upload_freq == 'W'
                            ci.upload_freq = 'Weekly'
                    elsif ci.upload_freq == 'M'
                            ci.upload_freq = 'Monthly'
                    end

    end

end


def edit
    cust_id = params[:cust_id]
    @cust_info = CustInfo.find(:all, :conditions => ["cust_id = ?", cust_id])

end 

конец конец

1 Ответ

0 голосов
/ 22 августа 2011

Изменить @cust_info = CustInfo.find(:all, :conditions => ["cust_id = ?", cust_id])

на

@cust_info = CustInfo.find(cust_id)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...