5

私の Rails 3.2 プロジェクトでは、新しいサイトを作成するためのフォームがありますnew.html.erbapp/views/sites/

<%= form_for(@site) do |site_form| %>
  ...
  <div class="field">
    <%= site_form.label :hash_name %><br />
    <%= site_form.text_field :hash_name %>
  </div>
  ...
  <div class="actions">
    <%= site_form.submit %>
  </div>
<% end %>

次に、create関数sites_controller.rb

def create
  @site = Site.new(params[:site])

  respond_to do |format|
    if @site.save
      format.html { redirect_to @site }
    else
      format.html { render action: "new" }
    end
  end
end

hash_name次に、ユーザーが送信した後、ユーザーが送信したばかりのものを表示したいshow.html.erb

You just put in <%= params[:hash_name] %>.

しかしアクセスがうまくいきparams[:hash_name]ません。どうすればアクセスできますか?

4

2 に答える 2

4

別のアクションにリダイレクトしています - これにより、作成アクションに渡したすべてのパラメーターがリセットされます。

hash_name他の回答が示唆するようにパラメーターとして渡すか、@siteオブジェクトから直接フェッチします。

于 2012-10-11T01:51:11.277 に答える
4

それらをオプションに追加するだけです:

redirect_to @site, :hash_name => params[:hash_name]

于 2012-10-11T01:38:32.267 に答える