我目前正在試圖構建一個視圖,向用戶顯示一個問題,如果他們回答問題的權利,允許用戶檢查一個複選框,該複選框發送請求以堅持數據庫。換句話說,我們會跟蹤用戶在數據庫中正確回答了哪些問題。 現在我的問題是(除了在RoR和前端的一個完整的新手一般),我不知道如何插入複選框(窗體)在我的觀點與問題一起。 我正在使用導軌4. 謝謝!Ruby on Rails 4,形式內部視圖
-1
A
回答
0
我會開始爲所有答案添加一個布爾值。
$ rails g migration AddCorrectToAnswers
現在,移民應該像
class AddCorrectToAnswers < ActiveRecord::Migration[5.0]
def change
add_column :answers, :correct, :boolean, default: false
end
end
現在我們可以創建一個將迎來答案正確
# config/routes.rb
Rails.application.routes.draw do
...
resources :questions do
resources :answers do
match "/correct" => "answers#correct", :as => :correct, via: :all
end
end
...
end
一條新的路徑現在你應該有一個新的路線
question_answer_correct /questions/:question_id/answers/:answer_id/correct(.:format) answers#correct
我是蘇閩摹,答案在問題顯示頁面
現在在你的節目頁面,您可以做這樣的事情,你所要做的就是創建答案控制器的方法叫做正確此
# app/views/questions/show.html.erb
<% @question.answers.each do |answer| %>
<%= answer.answer %>
<%= form_for @user, :url => url_for(:controller => 'answers', :action => 'correct') %>
<%= f.label "Correct Answer" %> <br />
<%= f.check_box :correct %> <br />
....
<%end %>
<% end %>
現在的最後一件事標記爲正確
# app/controllers/answers_controller.rb
class AnswersControlle < ApplicationController
...
def correct
@answer = Answer.find(params[:answer_id])
@answer.correct = true
@answer.save
redirect_to :back
end
end
我希望這有助於
快樂編碼
答案
0
假設你已經有形式設置,
你可以添加一個按鈕,說提交或任何你想diplay
<button class="check">Click me</button>
現在你可以寫一個事件偵聽器這個按鈕,可以揭示的答案,如果它與用戶給出的答案相匹配,然後將fire和Ajax調用到您的後端並保存您想要的任何內容。
示例代碼:
$('.check').on('click', function(){
var real = $('.reveal-answer').val();
$('.reveal-answer').show(); // you need to protect this part from being abused
var answer = $('.user-input-answer').val(); //Assuming its a input field
var questionId = $('.question').data('question-id');
if(answer === real){
url = '/submit_answer';
data = { question_id: questionId, answer: answer };
$.post(url, data , function() {
}, 'json');
}
});
大致應該像這樣工作,但也有很多來自安全準做。例如:你不能在視圖方面有所有答案,你應該在提交答案後檢查後端驗證(以檢查它是否確實是正確的或有人試圖破解它)。
+0
在此之後,您可以使用另一個在這裏發佈的答案爲後端的東西。 – Abhinay
相關問題
- 1. Ruby on Rails 4視圖NoMethodError
- 2. Ruby on Rails圖形
- 3. Ruby on Rails視圖
- 4. Ruby on Rails布爾形式
- 5. Ruby on Rails的 - 形式表
- 6. Ruby on Rails的:局部視圖繼承
- 7. Ticketee Ruby on Rails 4
- 8. Ruby on Rails目錄視圖
- 9. Ruby on Rails - 以lightbox的形式顯示視圖
- 10. Ruby on Rails 4 Haml內聯link_to內插的外部網址url
- 11. Ruby on Rails的4 - 形式不更新的附加字段
- 12. 在Ruby on Rails上壓縮圖像4
- 13. Ruby on Rails 4:安裝GEM
- 14. 航線Ruby on Rails的4
- 15. Ruby on Rails partials
- 16. Ruby on Rails的2的SyntaxError爲形式
- 17. Ruby on Rails的結合形式對象
- 18. Ruby on Rails的設計形式幫手
- 19. Ruby on Rails簡單形式錯誤
- 20. 局部視圖on Rails的
- 21. 在rails框架內部調試Ruby on Rails框架內部
- 22. 回形針4和Ruby on Rails 4個問題
- 23. Ruby on Rails圖庫使用回形針
- 24. Ruby on Rails - 可變內部變量
- 25. Ruby on Rails的的link_to內部ID
- 26. Ruby On Rails nofollow非內部鏈接
- 27. Ruby on Rails的關聯內部過濾
- 28. Ruby on Rails - 回形針 - NoHandleError
- 29. Ruby on Rails是否有可視化/圖形化的MDD工具?
- 30. CMS on Ruby on Rails
你可能不需要複選框,像按鈕這樣的任何元素都可以完成這個工作......換句話說,你不需要包含另一個表單元素或表單。你在談論多項選擇題嗎?用一個小例子回答你的問題。 – Abhinay
請添加更多詳細信息,如代碼段和使用案例..不確定如果我想正確的方式..不想在這裏假設 – Abhinay
@Abhinay你可能是正確的關於按鈕...不,它不是多選題,只是一個文本字段的問題,當用戶想要時,單擊以顯示在另一個文本字段中的答案。如果他們得到了正確的問題,我想要一種方法來記錄它,並將數據庫中的布爾值設置爲true以知道他們回答正確的問題。 – Sam